<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Toolkit Folders</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><meta name="keywords" content="Intellon, Atheros, Qualcomm, HomePlug, powerline, communications, INT6000, INT6300, INT6400, AR7400, AR7420"><link rel="home" href="index.html" title="Qualcomm Atheros Open Powerline Toolkit"><link rel="up" href="ch01.html" title="Chapter 1.  Overview"><link rel="prev" href="ch01s08.html" title="Toolkit Programs"><link rel="next" href="ch01s10.html" title="Packages"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">
			Toolkit Folders 
			</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch01s08.html">Prev</a> </td><th width="60%" align="center">Chapter 1. 
		Overview 
		</th><td width="20%" align="right"> <a accesskey="n" href="ch01s10.html">Next</a></td></tr></table><hr></div><div class="section" title="Toolkit Folders"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="overview-folders"></a>
			Toolkit Folders 
			</h2></div></div></div><p>
			The  Atheros  Open Powerline Toolkit package folder has many subfolders. Some contain source code, some contain documentation and others contain shell scripts. Some source folders contain programs that require components in neighboring folders. Consequently, you will see references to relative pathnames like ../folder, throughout source code, makefiles and shell scripts. This notation simplifies development and maintenance and is helpful when locating specific files. 
			</p><p>
			Folder descriptions appear below in alphabetical order: 
			</p><div class="variablelist"><dl><dt><a name="folder-applets"></a><span class="term">
					./applets
					</span></dt><dd><p>
					A library of programs that can run, stand-alone, on Atheros powerline devices and perform diagnostic tests for connection, functionality and performance. Some run to completion and return to the <span class="application">Bootloader</span>. Others run continuously until the device is reset. Most can be run and executed in sequence using program <a class="link" href="ch01s08.html#program-int6ktest">int6ktest</a>.   
						</p></dd><dt><a name="folder-classes"></a><span class="term">
					./classes
					</span></dt><dd><p>
						A collection of C++ classes that implement many of the ANSI C functions found elsewhere in the toolkit. These classes will compile and run on most platforms but are still a work-in-progress. The <a class="link" href="ch01s09.html#folder-programs">programs</a> folder contains actual and sample programs that use these classes. 
						</p></dd><dt><a name="folder-docbook"></a><span class="term">
					./docbook
					</span></dt><dd><p>
						HTML pages generated by several methods, but mostly <a class="ulink" href="http://www.docbook.org/" target="_top">Docbook 4.5</a>. Some pages have been created using special tools that are not provided and will not be made available. The <code class="filename">Makefile</code> in this folder will compile the core XML source files on GNU/Linux systems that have <span class="application">Docbook 4.5</span> installed with extentions by <a class="ulink" href="http://nwalsh.com/" target="_top">Normal Walsh</a> but it does not install the pages. See <a class="link" href="ch01s04.html" title="Toolkit Installation on Linux">Installation on Linux</a> for more information.
						</p></dd><dt><a name="folder-ether"></a><span class="term">
					./ether 
					</span></dt><dd><p>
						Network specific source code that supports raw ethernet packets in a platform independent fashion using plugin modules. The principle feature is the <code class="constant">channel</code> data structure used to read and write raw ethernet packets using network features on GNU/Linux, with or without <span class="application">libpcap</span>, and on  <span class="productname">Windows</span>™ with <span class="application">winpcap</span>. The source code in this folder is difficult to port cross-platform due to the way different operating systems implement their system header files and network stacks. 
						</p></dd><dt><a name="folder-int6k"></a><span class="term">
					./plc 
					</span></dt><dd><p>
						The main source code for programs that communicate with Qualcomm Atheros powerline devices over Ethernet. The programs in this folder are essential programs for engineers and embedded software developers wanting to explore powerline device behavior. The Makefile in this folder will compile and install programs in <code class="filename">/usr/local/bin</code> on GNU/Linux systems. 
						</p></dd><dt><a name="folder-mme"></a><span class="term">
					./mme 
					</span></dt><dd><p>
						A collection of helper functions dealing with <span class="trademark">HomePlug</span>® and Atheros management messages. They are not needed for proper toolkit operation but they can be useful during development and debugging because they print message content in readable format. Most of these functions require extra memory because they include symbol tables and extra data conversion functions.
						</p></dd><dt><a name="folder-nodes"></a><span class="term">
					./nodes
					</span></dt><dd><p>
						A collection of functions that comrpise a generic,  light-weight XML parser. Atheros is currently exprimenting with various XML-based applications to support device management on embedded systems. These functions are the core. Currently,  they are only used by the <a class="ulink" href="pxe.7.html" target="_top">pxe</a> and <a class="ulink" href="int6k2.7.html" target="_top">int6k2</a> programs. See <a class="link" href="ch07s08.html" title="XML Editing Functions">XML Editing Functions</a> for more information.
						</p></dd><dt><a name="folder-nvm"></a><span class="term">
					./nvm 
					</span></dt><dd><p>
						Programs,  functions and make files related to Atheros NonVolatile Memory (<acronym class="acronym">NVM</acronym>) files. All programs in this folder either read from or write to NVM files. None communicate with powerline devices. Some of the popular programs are <a class="ulink" href="chknvm.7.html" target="_top">chknvm</a>, <a class="ulink" href="nvmsplit.7.html" target="_top">nvmsplit</a> and <a class="ulink" href="nvmmerge.7.html" target="_top">nvmmerge</a>.
						</p></dd><dt><a name="folder-patches"></a><span class="term">
					./patches
					</span></dt><dd><p>
						A collection of useful <span class="productname">Linux</span>™ kernel patches and install scripts. Of particular interest is the <a class="link" href="ch02s06.html" title="Send-to-self Patch">send-to-self</a> patch that enables external routing of ISO Layer 3 traffic between two Ethernet interfaces on the same host. Atheros provides them but does not support them.
						</p></dd><dt><a name="folder-pib"></a><span class="term">
					./pib 
					</span></dt><dd><p>
						Programs, functions and make files related to Atheros Parameter Information Block (<acronym class="acronym">PIB</acronym>) files. All programs in this folder either read from or write to PIB files. None communicate with powerline devices. Some of the popular programs are <a class="ulink" href="chkpib.7.html" target="_top">chkpib</a>, <a class="ulink" href="modpib.7.html" target="_top">modpib</a>, <a class="ulink" href="getpib.7.html" target="_top">getpib</a> and <a class="ulink" href="setpib.7.html" target="_top">setpib</a>.
						</p></dd><dt><a name="folder-programs"></a><span class="term">
					./programs
					</span></dt><dd><p>
						A small collection of sample C++ programs that use the Atheros C++ powerline classes. These programs compile and run on most environments but are still a work-in-progress. Users may actually find <a class="ulink" href="netifs.7.html" target="_top">netifs</a> and <a class="ulink" href="plcnets.7.html" target="_top">plcnets</a> useful.
						</p></dd><dt><a name="folder-serial"></a><span class="term">
					./serial 
					</span></dt><dd><p>
						Programs, functions and make files related to the Atheros Serial Communication Interface for Powerline devices. All of the programs in this folder communicate using a host serial port. None communicate with powerline devices over Ethernet. The main program of interest is <a class="ulink" href="int6kuart.7.html" target="_top">int6kuart</a>.
						</p></dd><dt><a name="folder-scripts"></a><span class="term">
					./scripts 
					</span></dt><dd><p>
						Miscellaneous shell scripts that call various programs in this package to perform tasks such as flashing a FW2.0 device. Care must be taken here to ensure that environment variables at the start of each script are appropriate for your system. 
						</p></dd><dt><a name="folder-ram"></a><span class="term">
					./ram 
					</span></dt><dd><p>
						Support modules for reading, printing and checking <acronym class="acronym">NVRAM</acronym> and <acronym class="acronym">SDRAM</acronym> configuration files. The <code class="filename">.cfg</code> files in this folder have a different format than the <code class="filename">.config</code> files released with the Atheros Windows <span class="application">Device Manager</span>. The files distributed with the Windows <span class="application">Device Manger</span> are 64 ASCII character with no checksum. The files in this directory are 32 binary bites with trailing checksum. Users may create new sdram configuration files by compiling <a class="ulink" href="sdram.c.html" target="_top">sdram.c</a>, using <span class="command"><strong>gcc -o sdram sdram.c</strong></span> and running it without any command line arguments. 
						</p></dd><dt><a name="folder-tools"></a><span class="term">
					./tools 
					</span></dt><dd><p>
						Source code and header files used by virtually all programs in the toolkit. These files are generic and have application beyond this package. They provide GNU/Linux-style or POSIX-style functionality to programs running in environments that do not have either. They also implement operations like checksum computation and multi-byte hexadecimal encoding and decoding. See <a class="link" href="ch07.html" title="Chapter 7.  Support Function Reference">Support Function Reference</a> for more information.
						</p></dd><dt><a name="folder-visualstudio-net"></a><span class="term">
					./VisualStudioNET 
					</span></dt><dd><p>
						Components unique to Microsoft Windows are kept in and under this folder. Specifically, it contains a <span class="productname">Visual Studio .NET</span>™ solution to compile most of the programs in this package using only Microsoft and winpcap libraries. Compiled .exe files can be run on <span class="trademark">Windows</span>™ enabled systems having <span class="application">winpcap</span> installed. Adjustments may be necessary depending on your environment. 
						</p><p>
						Microsoft does not provide full POSIX support on Windows platforms. Consequently, alternative headers and libraries are included under this folder. For example, an abridged version of <a class="ulink" href="unistd.h.html" target="_top">unistd.h</a> and an alternative version of <a class="ulink" href="stdint.h.html" target="_top">stdint.h</a> are included under <code class="filename">VisualStudioNET/include</code>. Other significant header files included here are <a class="ulink" href="ethernet.h.html" target="_top">ethernet.h</a>, <a class="ulink" href="if_ether.h.html" target="_top">if_ether.h</a> and <a class="ulink" href="in.h.html" target="_top">in.h</a>. Subfolder <code class="filename">VisualStudio\Library</code> contains <span class="productname">WinPcap</span>™ libraries. These folders are referenced in appropriate compiler and linker options for Microsoft Development environments. 
						</p></dd></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch01s08.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch01.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch01s10.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">
			Toolkit Programs 
			 </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 
			Packages 
			</td></tr></table></div></body></html>
